#include "Aplicacion.h"
#define precioMax 150
Aplicacion::Aplicacion():biblio(){

};
Aplicacion::~Aplicacion(){};
void Aplicacion::menu(){
     
         int n,valido=0, res;
         string logi,pass;
         Usuario *usrSesion;

         do{         
             system("cls");
             valido=0;n=1;
             while(valido==0){
                 system("cls");                              
                 cout<<"\n--------------------------------------------------------------------------------"<<endl;                                                        
                 cout<<"\n -------------------------------    INICIAR SESION    --------------------------"<<endl;
                 //cout<<"\n\-->login=admin pass=admin \t login=demo pass=demo"<<endl;                                               
                 cout<<"\n\t Introduce Login:  ";         
                 cin>>logi;
                 cout<<"\n\t Introduce PASSWORD: ";
                 cin>>pass;
                 usrSesion=biblio.iniciarSesionUsuario(logi,pass,&valido);   
                 if(usrSesion==NULL){cout<<"\n Vuelve a intentarlo"<<endl;  system("pause");}
             }
             
             cout<<"\n-------------------------------------------------------------------------------"<<endl;                      
             cout<<"Bienvenido "<<usrSesion->nombreUsuario()<<"\n"<<endl;
             system("pause");
             
             if(usrSesion->nombreUsuario()=="demostracion"){
             demoProbando();
             }
             else{
                 if(usrSesion->nombreUsuario()=="administrador"){
                    while(n!=0)
                    { 
                         do{
                               menuMostrar(2,usrSesion->nombreUsuario());    
                               cout<<"\n Escoge opcion: ";   
                               cin>>n;                    
                         }while(n<0 && n>14);
                         if(n>0 && n<=14)
                            adminOperaciones(n,usrSesion);             
                    }
                 }
                 else{                  
                     while(n!=0){
                         do{
                               menuMostrar(1,usrSesion->nombreUsuario());       
                               cout<<"\n Escoge opcion: ";
                               scanf("%d",&n);                    
                         }while(n<0 && n>7);
                      if(n>0 && n<=7)
                            usuarioOperaciones(n,usrSesion);             
                     }
                 }
             }
             system("cls");
             cout<<"\n Pulsa 0 para CERRAR la Aplicacion "<<endl;
             cout<<"\n Pulsa 1 para INCIAR SESION otra vez"<<endl;             
             cin>>res;
           }while(res!=0);
}

//    biblio.creaPedidoUsuario();   
int Aplicacion::usuarioOperaciones(int op,Usuario *usrSesion){
    string pass,campo,valor;
    
    Lista<Libro> *libBusq;    
    libBusq=(Lista<Libro> *) new Lista<Libro>; 

    Lista<Libro> libBiblio ;
    libBiblio=biblio.listaLibros();    
    
    Libro *nuevLib;
    nuevLib=new Libro ;
    
    Lista <PedidoUsuario> pedBusq;

    
    PedidoUsuario *pedUsr;
    
    system("cls");
    switch (op){
          case 1:
                 cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
                 cout<<"--> 1. Cambiar password "<<endl;
                 cout<<"\n\t Introduce NUEVO PASSWORD: ";
                 cin>>pass;         
                 biblio.cambiarUsuarioClave(pass,usrSesion);  
                 cout<<"\n password Cambiada\n Nuevo datos :"<<endl;
                 verUsuario(usrSesion);      
                 cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
                 system("pause");                                      
                 break;
          case 2:
                 cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
                 cout<<"\n 2. Mostrar todo  Catalogo de LIBROS: "<<endl;               
                 mostrar_libros(libBiblio);
//                 mostrar_libros(100);      
                 system("pause");         
                 cout<<"\n No hay mas libros"<<endl;
                 cout<<"\n--------------------------------------------------------------------------------"<<endl;                                                      
                 system("pause");                          
                 break;                 
          case 3:
                 cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
                 cout<<"\n 3. Buscar a un Libro:\n ";
                 nuevLib=buscarLibroCategoria();
                 cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
                 system("pause");                                                            
                 break;                 
          case 4:
                 cout<<"\n ------------------------------------------------------------------------------"<<endl;
                 cout<<"--> 4. Pedir libro: Crea pedido de Usuario "<<endl;
                 nuevLib=buscarLibroCategoria();                 
                 pedUsr=biblio.creaPedidoUsuario(usrSesion,nuevLib,1);                   
                 verPedidoUsuario(pedUsr);
                 cout<<"\n ------------------------------------------------------------------------------"<<endl;                    
                 system("pause");                   
                 break;            
          case 5:
                 cout<<"\n ------------------------------------------------------------------------------"<<endl;
                 cout<<"\n 5. Consultar TODAS PEDIDOS Realizados: "<<endl;
                 mostrarPedidosUsuario(usrSesion);
                 cout<<"\n ------------------------------------------------------------------------------"<<endl;                    
                 system("pause");
                 break;               
          case 6:
                 cout<<"\n ------------------------------------------------------------------------------"<<endl;
                 cout<<"\n 6. Consultar PEDIDOS  NO Tramitadas: "<<endl;
                 pedBusq=biblio.buscaPedidosUsuarioPendientes(usrSesion);
          
                 if(pedBusq.tama()>0)
                    mostrarTodosPedidosUsuario(pedBusq);
                 else cout<<"\n NO HAY PEDIDOS. "<<endl;                
                 cout<<"\n ------------------------------------------------------------------------------"<<endl;                    
                 system("pause");
                 break;                    
          case 7:
                 cout<<"\n ------------------------------------------------------------------------------"<<endl;
                 cout<<"\n 7. Consultar Pedidos SI Tramitadas:: "<<endl;        
                 pedBusq=biblio.buscaPedidosUsuarioTramitados(usrSesion);
                 
                 if(pedBusq.tama()>0)
                    mostrarTodosPedidosUsuario(pedBusq);
                 else cout<<"\n NO HAY PEDIDOS. "<<endl;                
                 cout<<"\n ------------------------------------------------------------------------------"<<endl;                    
                 system("pause");
                 break;                 
    }     
    return 1;
}
void Aplicacion::demoProbando(){
    string pass,campo,valor,log;
    int i,j,num;
    
    Usuario *auxUsr;
    Usuario *usrSesion;    
    Libro *nuevLib;
    PedidoUsuario *pedUsr;
    PedidoBiblioteca * pedBiblio;
    
    Lista <PedidoUsuario> pedBusq;        
    Lista<Usuario> usrLista=biblio.listaUsuarios();
    Lista<Libro> *libBusq;    
    Lista <PedidoUsuario *> pedBusqueda;
    Lista<Libro> libBiblio;
    Lista<Libro> librosList=biblio.listaLibros();
    Lista <PedidoBiblioteca>  listPedBiblio;
    
    libBiblio=biblio.listaLibros();    
    
    system("cls");      
    cout<<"\n ------------------------------------------------------------------------------"<<endl;          
    cout<<"\n 1. Ver la Lista de USUARIOS: "<<endl;
    system("pause");    
    mostrar_usuarios(biblio.listaUsuarios());     
    cout<<"\n ------------------------------------------------------------------------------"<<endl;               
    system("pause");      
    
    system("cls");           
    cout<<"\n ------------------------------------------------------------------------------"<<endl;               
    cout<<"\n 2. Mostrar todo  Catalogo de LIBROS: "<<endl;     
    system("pause");                  
    mostrar_libros(libBiblio);     
    cout<<"\n ------------------------------------------------------------------------------"<<endl;               
    system("pause");      
    
    system("cls");
    //Probando funciones de USUARIOS 
    cout<<"\n Probando funciones de USUARIOS : "<<endl;
    system("pause");        
        for(i=0;i<3;i++){//numero de usuario  de prueba que crean los pedidos
            //Selecciono un usuario 
                usrSesion=usrLista.lee(i);        
            
            //Crear Pedidos del  usuario selecionado                           
                cout<<"\n ------------------------------------------------------------------------------"<<endl;     
                cout<<"--> 3. Pedir libro: Crea pedidos de Usuario de -->"<<usrSesion->nombreUsuario()<<endl;    
                system("pause");                    
                for(j=0;j<3;j++){// numero de pedidos de cada usuario
                    num=rand()%50;    
                    nuevLib=librosList.lee(num);
                    pedUsr=biblio.creaPedidoUsuario(usrSesion,nuevLib,1);                   
                    verPedidoUsuario(pedUsr);                                           
                }
                cout<<"\n ------------------------------------------------------------------------------"<<endl;
                system("pause"); 

            //Consultar PEDIDOS  NO Tramitadas del                                                                              
                cout<<"\n ------------------------------------------------------------------------------"<<endl;
                cout<<"\n 4. Consultar PEDIDOS  NO Tramitadas del Usuario --> "<<usrSesion->nombreUsuario()<<endl;
                system("pause");                                 
                pedBusq=biblio.buscaPedidosUsuarioPendientes(usrSesion);     
                if(pedBusq.tama()>0)
                mostrarTodosPedidosUsuario(pedBusq);
                else cout<<"\n NO HAY PEDIDOS. "<<endl;                
                cout<<"\n ------------------------------------------------------------------------------"<<endl; 
                system("pause"); 
            
            //Consultar Pedidos SI Tramitadas:                                                             
                cout<<"\n ------------------------------------------------------------------------------"<<endl;
                cout<<"\n 5. Consultar Pedidos SI Tramitadas:del Usuario --> "<<usrSesion->nombreUsuario()<<endl;       
                system("pause");                                  
                pedBusq=biblio.buscaPedidosUsuarioTramitados(usrSesion);                 
                if(pedBusq.tama()>0)
                mostrarTodosPedidosUsuario(pedBusq);
                else cout<<"\n NO HAY PEDIDOS. "<<endl;                
                cout<<"\n ------------------------------------------------------------------------------"<<endl;                           
            
        }           
        
    //Probandos funciones de ADMINISTRADOR
    system("cls");
    cout<<"\n Probandos funciones de ADMINISTRADOR. "<<endl;
        //Consultar todos las Pedidos                            
            cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
            cout<<"\n 6 Consultar todos las Pedidos de todos los usuarios : "<<endl;            
            system("pause");         
            mostrarTodosPedidosUsuario();
            cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
            system("pause"); 
                
        //Tramitar todos los pedidos de usuario pendientes
        char resp='s';
            cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
            cout<<"\n 9. Tramitar todos los pedidos de usuario pendientes: \n"<<endl;
            cout<<"\n Limite de presupuesto = "<<precioMax<<"\n"<<endl;            
            system("pause");            
            
            pedBiblio=biblio.abrePedidoBiblioteca();                
            pedBusqueda=biblio.buscaPedidosUsuarioPendientes();                                                                  
            
            if(pedBusqueda.tama()>0)
            {
              for(i=0;i<pedBusqueda.tama() && resp=='s';i++){                                                
                  pedUsr=pedBusqueda.rlee(i);                                                                                                       
                  if(pedBiblio->importePedidoBiblioteca()<precioMax && (pedBiblio->importePedidoBiblioteca()+pedUsr->precioPedidoUsuario())<precioMax ){                                                             
                     biblio.tramitaPedidoUsuario(pedUsr,pedBiblio);  
                  }
                  else{
                    cout<<"\n !!! Se ha alcanzado el limite del presupuesto "<<endl;
                    resp='n';
                  }                                                  
              } 
              biblio.incluyePedidoBiblioteca(pedBiblio);         
              mostrarTodosPedidosUsuario(pedBusqueda);                                   
              cout<<"\n                    Pedido de biblioteca creado                  "<<endl;                                                    
            }
            else cout<<"\n NO HAY PEDIDOS DE USUARIOS PENDIENTES DE TRAMITAR. "<<endl;                  
            cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
            system("pause");              

        //Mostrar Pedidos de Biblioteca SI TRAMITADOS:                               
            cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
            cout<<"\n 7. Mostrar Pedidos de Biblioteca SI TRAMITADOS: \n"<<endl;
            system("pause");            
            listPedBiblio=biblio.buscaPedidosBibliotecaTramitados();
            mostrarPedidosBiblioteca(listPedBiblio);                      
            cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
            system("pause");     
            
        //Mostrar Pedidos de Biblioteca NO TRAMITADOS                                                   
            cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
            cout<<"\n 8. Mostrar Pedidos de Biblioteca NO TRAMITADOS: \n"<<endl;
            system("pause");            
            listPedBiblio=biblio.buscaPedidosBibliotecaPendientes();
            mostrarPedidosBiblioteca(listPedBiblio);                       
            cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
            system("pause"); 
                                                                         
        //Realizar orden de compra
             cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
             cout<<"\n 11. Realizar ORDEN de COMPRA de pedidos. \n"<<endl;
             system("pause");           
             //Cierra un Pedido de biblioteca 
             
            Lista<PedidoBiblioteca> pedidosBiblioteca=biblio.listaPedidosBiblioteca();         
                         
            for (i=0;i<pedidosBiblioteca.tama();i++){
              pedBiblio=pedidosBiblioteca.lee(i);                                                   
              verPedidoBiblioteca(pedBiblio);
              biblio.cierraPedidoBiblioteca(pedBiblio);                 
             }                                                               
             cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
             system("pause");  

        //Mostrar Pedidos de Biblioteca:                               
            cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
            cout<<"\n 10. Mostrar Pedidos de Biblioteca: \n"<<endl;                 
            system("pause");            
            mostrarPedidosBiblioteca();      
            cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
            system("pause");              
                                     

}
int Aplicacion::menuMostrar(int typo,string nombre){
    int opcion=-10;
    system("cls");
        cout<<"\n********************************************************************************"<<endl;              
        cout<<"******************************** MENU DE "<<nombre<<" *************************"<<endl;                             
    //Modo USUARIO
    if (typo==1){               
                         
        cout<<"\n 1. Cambiar Datos de Usuario: "<<endl;
        cout<<"\n 2. Consultar Catalogo de LIBROS: "<<endl;
        cout<<"\n 3. Buscar un Libro "<<endl;
        cout<<"\n 4. Solicitar Peticion de Nuevo libro: "<<endl;
        cout<<"\n 5. Consultar todos las Pedidos : "<<endl;
        cout<<"\n 6. Consultar PEDIDOS  NO Tramitadas: "<<endl;
        cout<<"\n 7. Consultar Pedidos SI Tramitadas:: "<<endl;        
        cout<<"\n 0. Cerrar Sesion \n "<<endl;

             
    }       //Modo ADMINISTRADOR
    else if (typo==2){

            cout<<"\n 1.  Cambiar password: "<<endl;
            cout<<"\n 2.  LIBROS: "<<endl;
            cout<<"\n 3.  USUARIOS: "<<endl;
            cout<<"\n 4.  PEDIDOS DE USUARIOS: "<<endl;
            cout<<"\n 5.  PEDIDOS DE BIBLIOTECA: "<<endl;       
            cout<<"\n 0. Cerrar Sesion \n "<<endl;                        
            cin>>opcion;
            system("cls");
            switch (opcion){           
                   case 0:
                         cout<<"\n 0. Cerrar Sesion \n "<<endl;                               
                         break;                   
                   case 1:
                        cout<<"\n********************************************************************************"<<endl;              
                        cout<<"******************************** MENU DE "<<nombre<<" *************************"<<endl;                                                     
                        cout<<"\n 1.  Cambiar password de "<<nombre<<" : "<<endl;                        
                        break;
                   case 2:
                        cout<<"\n********************************************************************************"<<endl;              
                        cout<<"******************************** MENU DE "<<nombre<<" *************************"<<endl;                                                                             
                        cout<<"\n 2.  Ver  los  LIBROS: ";
                        cout<<"\n 3.  Buscar un  Libro: "<<endl;                        
                        break;                      
                   case 3:
                        cout<<"\n********************************************************************************"<<endl;              
                        cout<<"******************************** MENU DE "<<nombre<<" *************************"<<endl;                                                                                                     
                        cout<<"\n     USUARIOS: "<<endl;
                        cout<<"\n 4.  Ver los USUARIOS: ";
                        cout<<"\n 5.  Buscar   Usuario: "<<endl;                                        
                        break;
                   case 4:        
                        cout<<"\n********************************************************************************"<<endl;              
                        cout<<"******************************** MENU DE "<<nombre<<" *************************"<<endl;                                                                                                     
                        cout<<"\n     PEDIDOS DE USUARIOS: \n"<<endl;
                        cout<<" 6.  Ver Pedidos de usuarios : "<<endl;
                        cout<<" 7.  Ver Pedidos de usuarios  NO TRAMITADOS: "<<endl;
                        cout<<" 8.  Ver Pedidos de usuarios  SI TRAMITADOS: "<<endl;                                                        
                        break;
                   case 5:
                        cout<<"\n********************************************************************************"<<endl;              
                        cout<<"******************************** MENU DE "<<nombre<<" *************************"<<endl;                                                                                                     
                        cout<<"\n          PEDIDOS DE BIBLIOTECA: \n"<<endl;       
                        cout<<" 9.   Tramitar PEDIDO de Usuario a biblioteca: "<<endl;
                        cout<<" 10.  Tramitar todos los pedidos de usuario pendientes: "<<endl;                        
                        cout<<" 11.  Ver Pedidos de Biblioteca SI TRAMITADOS: "<<endl;
                        cout<<" 12.  Ver Pedidos de Biblioteca NO TRAMITADOS: "<<endl;                                    
                        cout<<" 13.  Ver Pedidos de Biblioteca : "<<endl;                          
                        cout<<" 14.  Realizar orden de compra de pedidos. Cierra un Pedido de biblioteca "<<endl;                                                
                        break;        
            }              
    }        
    return 1;
}


int Aplicacion::adminOperaciones(int op,Usuario *usrSesion){
    string pass,campo,valor,log;
    int i;
    char res='n',resp='s';
    Usuario *auxUsr;
    auxUsr=(Usuario *)new Usuario *;
    resp='s';
    res='n';
    
    Lista<Libro> *libBusq;    
    libBusq=(Lista<Libro> *) new Lista<Libro>; 
     
    Lista<Libro> libBiblio;
    libBiblio=biblio.listaLibros();
    
    Libro *nuevLib;
    nuevLib=new Libro ;
    
    Lista <PedidoUsuario> pedBusq;
    Lista <PedidoUsuario *> pedBusqueda;    
  //  pedBusq=(Lista <PedidoUsuario> *)new Lista <PedidoUsuario> *;
    
    Lista <PedidoBiblioteca>  listPedBiblio;
    //listPedBiblio=(Lista <PedidoBiblioteca> *)new Lista <PedidoBiblioteca> * ;
    
    PedidoUsuario *pedUsr;
    //pedUsr=(PedidoUsuario *)new PedidoUsuario;                        
    
    PedidoBiblioteca * pedBiblio;
    //pedBiblio=(PedidoBiblioteca *)new PedidoBiblioteca ; 
    system("cls");
    switch (op){
          case 1:
                 cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
                 cout<<"--> 1. Cambiar password "<<endl;
                 cout<<"\n\t Introduce NUEVO PASSWORD: ";
                 cin>>pass;         
                 biblio.cambiarUsuarioClave(pass,usrSesion);  
                 cout<<"\n PASSWORD Cambiado\n Nuevo datos :"<<endl;
                 verUsuario(usrSesion);      
                 cout<<"\n--------------------------------------------------------------------------------"<<endl;                                                        
                 system("pause");                                      
                 break;
          case 2:
                 cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
                 cout<<"\n 2. Mostrar todo  Catalogo de LIBROS: "<<endl;               
                 mostrar_libros(libBiblio);
                 //mostrar_libros(100);      
                 system("pause");         
                 cout<<"\n No hay mas libros"<<endl;
                 cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
                 system("pause");                          
                 break;                 
          case 3:
                 cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
                 cout<<"\n 3. Buscar a un Libro:\n ";
                 nuevLib=buscarLibroCategoria();
                 cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
                 system("pause");                                                            
                 break;                            
          case 4:
                 cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
                 cout<<"\n 4. Ver la Lista de USUARIOS: "<<endl;
                 mostrar_usuarios(biblio.listaUsuarios());
                 cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
                 system("pause");                           
                 break;            
          case 5:
                 cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
                 cout<<"\n 5. Buscar un Usuario: "<<endl;                             
                 cout<<"\n Introduce nombre de login del usuario que buscas: ";
                 cin>>log;
                 auxUsr=biblio.buscaUsuario(log);
                // auxUsr->verUsuario();
                 cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
                 system("pause");                           
                 break;
                 
           case 6:
                 cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
                 cout<<"\n 6 Consultar todos las Pedidos de todos los usuarios : "<<endl;                     
                 mostrarTodosPedidosUsuario();
                 cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
                 system("pause");                           
                 break;                                 
                                                               
          case 7:
                 cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
                 cout<<"\n 7.  Consultar PEDIDOS de USUARIOS NO Tramitadas: "<<endl;
                 mostrarTodosPedidosUsuarioPendientes();
                 cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
                 system("pause");                           
                 break;                                                                   
          case 8:
                 cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
                 cout<<"\n 8.  Consultar Pedidos de USUARIOS SI Tramitadas: "<<endl;                                
                  mostrarTodosPedidosUsuarioTramitados();
                 cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
                 system("pause");                           
                 break;                                                                                                               
                 
          case 9:
                 cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
                 cout<<"\n 9. Incluir un Pedido de Usuario a biblioteca. Tramitar pedido: "<<endl;
                
                 pedBiblio=biblio.abrePedidoBiblioteca();                 
                 pedBusqueda=biblio.buscaPedidosUsuarioPendientes();                      
                 if(pedBusqueda.tama()>0){                 
                        for(i=0;i<pedBusqueda.tama() && resp=='s';i++){
                            pedUsr=seleccionarPedidoUsuario();     
                            system("cls");
                            
                            cout<<"\n------------------- Tramitanto el  pedido de usuario ------------------------"<<endl;                            
                            biblio.tramitaPedidoUsuario(pedUsr,pedBiblio);                                          
                            // verPedidoBiblioteca(pedBiblio); //akiiiiiiiiii llega imprime sale y falla 
                            if(pedBiblio->importePedidoBiblioteca()<precioMax &&  (pedBiblio->importePedidoBiblioteca()+pedUsr->precioPedidoUsuario())<precioMax){                                           
                                cout<<" Agregar otro pedido? S/N "<<endl;
                                cin>>resp;
                            }
                            else{
                                cout<<"\n ! Se ha alcanzado el limite del presupuesto "<<endl;
                                res='n';
                            }
                        }
                        cout<<"\n------------------- Incluyendo  pedido de usuario ------------------------"<<endl;                                              
                        biblio.incluyePedidoBiblioteca(pedBiblio);   
                        cout<<"\n                    Pedido de biblioteca creado                  "<<endl;          
                 }
                 else cout<<"\n NO HAY PEDIDOS DE USUARIOS PENDIENTES DE TRAMITAR. "<<endl;
                 cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
                 system("pause");                           
                 break;           
          case 10:
                 cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
                 cout<<"\n 10. Tramitar todos los pedidos de usuario pendientes: "<<endl;
                 
                 pedBiblio=biblio.abrePedidoBiblioteca();                
                 pedBusqueda=biblio.buscaPedidosUsuarioPendientes();                           
                  cout<<"\n----- Tramitanto todos los pedidos de usuario pendientes --------"<<endl;                                             
                  if(pedBusqueda.tama()>0)
                  {
                      for(i=0;i<pedBusqueda.tama();i++){                           
                          pedUsr=pedBusqueda.rlee(i);                                                                                                       
                          if(pedBiblio->importePedidoBiblioteca()<precioMax && (pedBiblio->importePedidoBiblioteca()+pedUsr->precioPedidoUsuario())<precioMax ){                                                             
                             biblio.tramitaPedidoUsuario(pedUsr,pedBiblio);  
                          }
                          else{
                            cout<<"\n ! Se ha alcanzado el limite del presupuesto "<<endl;
                            resp='n';
                          }                                                                                                                                             
                      } 
                      biblio.incluyePedidoBiblioteca(pedBiblio);         
                      mostrarTodosPedidosUsuario(pedBusqueda);                                   
                      cout<<"\n                    Pedido de biblioteca creado                  "<<endl;                                                    
                  }
                 else cout<<"\n NO HAY PEDIDOS DE USUARIOS PENDIENTES DE TRAMITAR. "<<endl;                  
                 cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
                 system("pause");                           
                 break;                                                                                                   
          case 11:
                 cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
                 cout<<"\n 10. Mostrar Pedidos de Biblioteca SI TRAMITADOS: "<<endl;
                 listPedBiblio=biblio.buscaPedidosBibliotecaTramitados();
                 mostrarPedidosBiblioteca(listPedBiblio);                      
                 cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
                 system("pause");                           
                 break;                                                                                                                      
          case 12:
                 cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
                 cout<<"\n 11. Mostrar Pedidos de Biblioteca NO TRAMITADOS: "<<endl;
                 listPedBiblio=biblio.buscaPedidosBibliotecaPendientes();
                 mostrarPedidosBiblioteca(listPedBiblio);                       
                 cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
                 system("pause");                           
                 break;                                           
          case 13:
                 cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
                 cout<<"\n 12. Mostrar Pedidos de Biblioteca: "<<endl;                 
                 mostrarPedidosBiblioteca();      
                 cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
                 system("pause");                           
                 break;               
          case 14:
                 cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
                 cout<<"\n 13. Realizar ORDEN de COMPRA de pedidos. "<<endl;
                 //Cierra un Pedido de biblioteca 
                 pedBiblio=seleccionarPedidoBiblioteca();
                 if(pedBiblio!=NULL)
                    biblio.cierraPedidoBiblioteca(pedBiblio);                 
                 cout<<"\n--------------------------------------------------------------------------------"<<endl;                                       
                 system("pause");                           
                 break;                                                                                                                                       
    }            
     //   delete [] listPedBiblio;
return 1;
}
/******************************************************************************/  
/******** Funciones para MOSTRAR ************************************* */
/******************************************************************************/ 
//***************** VER un PEDIDO  DE LA BIBLIOTECA   **************************
/**
  @brief
  @post
*/
void Aplicacion::verPedidoBiblioteca(PedidoBiblioteca *ped){
     
     Fecha fecha=ped->fechaPedidoBiblioteca();
     float importe=ped->importePedidoBiblioteca();
     bool tramitado=ped->tramitadoPedidoBiblioteca();
     
    cout<<"\n\t................................................................."<<endl;
    cout<<"\n      (+) Datos del PEDIDO de BIBLIOTECA: \n"<<endl;
    cout<<"\t "<<fecha<<"\n\t Importe = "<<importe<<" \n\t Tramitado = "<<tramitado<<endl;
    cout<<"\n\t Pedidos de Usuario en el pedido de biblioteca: "<<endl;
    
   // Mostrar los pedidos de usuarios que hay dentro del pedido biblioteca    
   Lista<PedidoUsuario*> pedidos=ped->listaPedidosUsuariosBiblioteca();
    
    //otra forma de mostrar los pedidos de usuario asociciados al pedidobiblioteca
    mostrarTodosPedidosUsuario(pedidos);
    
    /*
    int i;
    PedidoUsuario *pedUsr;

    cout<<"tam pedidos usuario = "<<pedidos.tama()<<endl;
        for (i=0;i<pedidos.tama();i++){
            cout<<"\n   "<<i+1<<") __________________________________________________________________"<<endl;                                              
            pedUsr=pedidos.rlee(i);
            verPedidoUsuario(pedUsr);
        }
        */
}

//-------------------- MUESTRA LA LISTA DE PEDIDOS DE BIBLIOTECA  ---------------
/**
   @brief MOSTRAR PedidosBiblioteca
   @post
*/    
void Aplicacion::mostrarPedidosBiblioteca(){

    Lista<PedidoBiblioteca>  listPedBiblio =biblio.listaPedidosBiblioteca();    
    cout<<"Mostrar los PEDIDOS DE BIBLIOTECA: cantidad= "<<listPedBiblio.tama()<<endl;
    
    //listPedBiblio=(Lista<PedidoBiblioteca> * )new Lista<PedidoBiblioteca>* ;
    
    PedidoBiblioteca * pedBiblioRet;
    //listPedBiblioRet=(PedidoBiblioteca * )new PedidoBiblioteca * ;
    
    int i,encontrado=0;
    
    if(listPedBiblio.tama()>0){
       for (i=0;i<listPedBiblio.tama();i++){
           pedBiblioRet=listPedBiblio.lee(i);           
           verPedidoBiblioteca(pedBiblioRet);   
           encontrado=1;
       }                                     
       if(encontrado==0) cout<<"\n PEDIDOS NO ENCONTRADOS "<<endl;
    }
    else cout<<"\n PEDIDOS NO ENCONTRADOS "<<endl;           
    cout<<"--------- FIN DE MOSTRAR PEDIDOS BIBLIOTECA --------- "<<endl;                              
} 
/**
   @brief MOSTRAR PedidosBiblioteca
   @post
*/    
void Aplicacion::mostrarPedidosBiblioteca(Lista<PedidoBiblioteca>listPedBiblio ){

    //Lista<PedidoBiblioteca>  listPedBiblio =biblio.listaPedidosBiblioteca();    
    cout<<"Mostrar los PEDIDOS DE BIBLIOTECA: cantidad= "<<listPedBiblio.tama()<<endl;
    
    //listPedBiblio=(Lista<PedidoBiblioteca> * )new Lista<PedidoBiblioteca>* ;
    
    PedidoBiblioteca * pedBiblioRet;
    //listPedBiblioRet=(PedidoBiblioteca * )new PedidoBiblioteca * ;
    
    int i,encontrado=0;
    
    if(listPedBiblio.tama()>0){
       for (i=0;i<listPedBiblio.tama();i++){
           pedBiblioRet=listPedBiblio.lee(i);           
           verPedidoBiblioteca(pedBiblioRet);   
           encontrado=1;
       }                                     
       if(encontrado==0) cout<<"\n PEDIDOS NO ENCONTRADOS "<<endl;
    }
    else cout<<"\n PEDIDOS NO ENCONTRADOS "<<endl;           
    cout<<"--------- FIN DE MOSTRAR PEDIDOS BIBLIOTECA --------- "<<endl;                              
}     
//----------------USUARIO PIDE UN LIBRO A LA BIBLLIOECA --------------------------   
//------------------------------------------------------------------------------
/**
   @brief 
   @post
*/       
PedidoUsuario * Aplicacion::seleccionarPedidoUsuario(){
int i=0;

  bool encontrado=0;
  char res='n';
  Usuario *auxUsr;
  //auxUsr=(Usuario *)new Usuario *;    
 
 Lista <PedidoUsuario> pedAux;
// pedAux=(Lista <PedidoUsuario> *)new Lista <PedidoUsuario> *;
 pedAux=biblio.listaPedidosUsuario();
 
 PedidoUsuario *pedUsr;
// pedUsr=(PedidoUsuario *)new PedidoUsuario;       
  if(pedAux.tama()>0){
      for (i=0;i<pedAux.tama() && encontrado==0;i++){
          pedUsr=pedAux.lee(i);   
          if(pedUsr->tramitadoPedidoUsuario()==0){
             cout<<"\n   "<<i+1<<") __________________________________________________________________"<<endl;                                                                                                    
             verPedidoUsuario(pedUsr);
             cout<<"\n--> Es este el pedido de usuario que deseas seleccionar? S/N"<<endl;
             cin>>res;                 
             if(res=='s') encontrado=1;
          }
      } 
  }
 if(res=='n')pedUsr=NULL;
  return pedUsr;
}      

//------------------------------------------------------------------------------
PedidoBiblioteca * Aplicacion::seleccionarPedidoBiblioteca(){
    int i;
    char res='n';
    PedidoBiblioteca *pedBiblio;
    Lista<PedidoBiblioteca> pedidosBiblioteca=biblio.listaPedidosBiblioteca();         
                 
    for (i=0;i<pedidosBiblioteca.tama() && res=='n';i++){
      pedBiblio=pedidosBiblioteca.lee(i);                                                   
      if(pedBiblio->tramitadoPedidoBiblioteca()==0){
          verPedidoBiblioteca(pedBiblio);
          cout<<" Cerrar este PEDIDO DE BIBLIOTECA ? : S/N: "<<endl;
          cin>>res;
      }
     }                                            
    if(res=='n')    pedBiblio=NULL;
    return pedBiblio;
}   
  
      

//********************** MOSTRAR PEDIDO DE USUARIO******************************
/**
  @brief Muestra por pantalla un pedido de usuario
  @post
*/
void Aplicacion::verPedidoUsuario(PedidoUsuario *pedUsr){
   Fecha fecha=pedUsr->fechaPedidoUsuario();
   float precio=pedUsr->precioPedidoUsuario();
   bool tramitado=pedUsr->tramitadoPedidoUsuario();
   
   Usuario *usr=pedUsr->usuarioPedidoUsuario();
   Libro *lib=pedUsr->libroPedidoUsuario();
  cout<<"\n\t................................................................."<<endl;   
   cout<<"\n    (+) Datos del PEDIDO DE USUARIO: "<<endl;  
   cout<<"\n\t Fecha = "<<fecha<<"\n\t precio = "<<precio<<"\n\t tramitado ="<<tramitado<<endl;
   verUsuario(usr);
   verLibro(lib);
}
/**
   @brief Muestra la lista de pedidos de un Usuario
   @post
*/  
void Aplicacion::mostrarPedidosUsuario(Usuario *usr){
     int i=0;
     Usuario *auxUsr;
     
     Lista <PedidoUsuario> pedidosUsuarios=biblio.listaPedidosUsuario();
    // pedAux=(Lista <PedidoUsuario> *)new Lista <PedidoUsuario> *;
     
     PedidoUsuario *ped;
    // ped=(PedidoUsuario *)new PedidoUsuario *;
     
    // cout<<"Mostrar pedidos del usuario: "<<usr->nombreUsuario()<<endl;         
     
     for (i=0;i<pedidosUsuarios.tama();i++)
     {
                                                                                                                    
        // pedAux=pedidosUsuarios;         
         ped=pedidosUsuarios.lee(i);
         auxUsr=ped->usuarioPedidoUsuario();
         
         if (*auxUsr==*usr){
                 cout<<"\n   "<<i+1<<") __________________________________________________________________"<<endl;                             
             verPedidoUsuario(ped);//system("pause");
         }               
     }
}
//------------------------- MOSTRAR TODOS  LOS PEDIDOS DE USUARIO ----------------------        
/**
   @brief Muestra todos los pedidos de todos los usuarios
   @post
  */          
void Aplicacion::mostrarTodosPedidosUsuario(){
    int i=0;
      bool encontrado=0;
      
     Lista <PedidoUsuario> pedAux;

     pedAux=biblio.listaPedidosUsuario();         
     
     PedidoUsuario *ped;
     if(pedAux.tama()>0){      
         for (i=0;i<pedAux.tama();i++){
             ped=pedAux.lee(i);
             cout<<"\n\t................................................................."<<endl;                   
             cout<<"\n   "<<i+1<<") __________________________________________________________________"<<endl;                                              
             verPedidoUsuario(ped);
             encontrado=1;
         }                
     }
   
} 
/**
   @brief Muestra todos los pedidos de todos los usuarios
   @post
  */          
void Aplicacion::mostrarTodosPedidosUsuario(Lista<PedidoUsuario> pedAux){
    int i=0;
      bool encontrado=0;
      
     //Lista <PedidoUsuario> pedAux;

     //pedAux=biblio.listaPedidosUsuario();         
     
     PedidoUsuario *ped;
     if(pedAux.tama()>0){ 
         for (i=0;i<pedAux.tama();i++){
             ped=pedAux.lee(i);
             cout<<"\n\t................................................................."<<endl;                   
             cout<<"\n   "<<i+1<<") __________________________________________________________________"<<endl;                                              
             verPedidoUsuario(ped);
             encontrado=1;
         }                   
     }
} 
/**
   @brief Muestra todos los pedidos de todos los usuarios
   @post
  */          
void Aplicacion::mostrarTodosPedidosUsuario(Lista<PedidoUsuario *> pedAux){
    int i=0;
      bool encontrado=0;
      
     //Lista <PedidoUsuario> pedAux;

     //pedAux=biblio.listaPedidosUsuario();         
     
     PedidoUsuario *ped;
     if(pedAux.tama()>0){ 
         for (i=0;i<pedAux.tama();i++){
             ped=pedAux.rlee(i);
             cout<<"\n\t................................................................."<<endl;                   
             cout<<"\n   "<<i+1<<") __________________________________________________________________"<<endl;                                              
             verPedidoUsuario(ped);
             encontrado=1;
         }                   
     }
} 
//----------- MOSTRAR TODOS LOS PEDIDOS DE USUARIO PENDIENTES  --------------------            
/**
   @brief Muestra todos los pedidos pedientes de  tramitar de todos los usuarios
   @post
    */      
void Aplicacion::mostrarTodosPedidosUsuarioPendientes(){
     cout<<"\n Mostrando los PEDIDOS de usuarios NO TRAMATADOS "<<endl;
    int i=0;
      bool encontrado=0;

      Usuario *auxUsr;
     

     Lista <PedidoUsuario> pedAux;
     pedAux=biblio.listaPedidosUsuario();  
     
     PedidoUsuario *nuevPedUsr;       

      
      for (i=0;i<pedAux.tama();i++){
          nuevPedUsr=pedAux.lee(i);   
          if(nuevPedUsr->tramitadoPedidoUsuario()==0){
            cout<<"\n   "<<i+1<<") __________________________________________________________________"<<endl;                                                                                                        
            verPedidoUsuario(nuevPedUsr);
            encontrado=1;
          }
      }                             
      if(encontrado==0) cout<<"\n NO HAY PEDIDOS. "<<endl; 
          
}    

//----------- MOSTRAR TODOS LOS PEDIDOS DE USUARIO TRAMITADOS  ------------------  
/**
   @brief Muestra todos los pedidos tramitados de todos los usuarios
   @post
*/         
void Aplicacion::mostrarTodosPedidosUsuarioTramitados(){
     cout<<"\n Mostrando los PEDIDOS de USUARIOS SI TRAMATADOS "<<endl;
   int i=0;
      bool encontrado=0;

      Usuario *auxUsr;
     

     Lista <PedidoUsuario> pedAux;
     pedAux=biblio.listaPedidosUsuario();  
     
     PedidoUsuario *nuevPedUsr;       

      
      for (i=0;i<pedAux.tama();i++){
          nuevPedUsr=pedAux.lee(i);   
          if(nuevPedUsr->tramitadoPedidoUsuario()==1){
            cout<<"\n   "<<i+1<<") __________________________________________________________________"<<endl;                                                                                                        
            verPedidoUsuario(nuevPedUsr);
            encontrado=1;
          }
      }                             
      if(encontrado==0) cout<<"\n NO HAY PEDIDOS. "<<endl;                  
}        

/**
@brief Muestra el usuario
@post
*/ 
void Aplicacion::mostrar_usuarios(Lista<Usuario> usr){
//   cout <<"\n ----------------------------------------"<<endl;
//         cout << " \t --> Lista::mostrar_usuario()" << endl;
         if (usr.tama()==0){
            //throw ErrorListaVacia();                                 
         }
         else {

                 cout<<"\n Mostrar la lista de usuarios: "<<usr.tama()<<endl;
                 for (int i=0;i<=usr.tama()-1;i=i+1){
                    // cout<<"Posicion("<<i<<")"<<endl;
                      cout<<"\n\t................................................................."<<endl;                                         
                      Usuario *dato;
                      Usuario Dato;       
                      Usuario &datoRet=Dato;              
                      dato = usr.lee(i);                 
                      verUsuario(dato);
                 }
        }

}

void Aplicacion::verUsuario(Usuario *usr){
   //    cout <<"\n -------------------------------------------------------------"<<endl;                                         
      // cout << "--> Usuario::verUsuario():"<<endl;
      string log=usr->loginUsuario();
      string nomb=usr->nombreUsuario();
      string clav= usr->claveUsuario();
       cout<<"\n\t................................................................."<<endl;
       cout<<"\n\t Datos de Usuario: \n\t Login: " <<log<<" Nombre: " <<nomb<< " Clave: " <<clav<<endl; 

       }
/**
@brief
@post
*/   
void Aplicacion::verLibro(Libro *lib){
     string titulo=lib->verTitulo();
     string autores=lib->verAutores();
     string editorial=lib->verEditorial();
     string ISBN=lib->verISBN();
     float precioActual=lib->verPrecioActual();
     int anyo=lib->verAnyo();
     cout<<"\n\t................................................................."<<endl;
     cout<<"\n\t Datos del Libro: \n\t Titulo: "<<titulo<<"\n\t Autores: "<<autores<<"\n\t Editorial: "<<editorial<<"\n\t ISBN: "<<ISBN<<"\n\t Anyo: "<<anyo<<"\n\t Precio: "<<precioActual<<endl;
}

void Aplicacion::mostrar_libros(Lista<Libro> lib){
     
//   cout <<"\n ----------------------------------------"<<endl;
//         cout << " \t \t --> Lista::mostrar_libros()" << endl;
         if (lib.tama()==0){
            throw ErrorListaVacia();                                 
         }
         else {
                 Libro *aux;

                 cout<<"\n Mostrar la lista de libros: "<<lib.tama()<<endl;
                 for (int i=0;i<=lib.tama()-1;i=i+1){
                      cout<<"\n\t................................................................."<<endl;                                          
//                      Libro *Dato;
                      Libro *dato;
                      Libro Dato;       
                      Libro &datoRet=Dato;              
                      dato = lib.lee(i);                 
                      verLibro(dato);
                 }
                                
        }
        
}
void Aplicacion::mostrar_libros(int paginados){
/*
//   cout <<"\n ----------------------------------------"<<endl;
         cout<<"\n Mostrar la lista de libros: paginados de " <<paginados<< endl;
           int p=0;
         if (numNodos==0){
            throw ErrorListaVacia();                                 
         }
         else {
                 Nodo<Typo> *aux;

                 aux=primero;
                 cout<<"\n Mostrar la lista de libros: "<<numNodos<<endl;
                 for (int i=0;i<=numNodos-1;i=i+1){
                      cout<<"\n\t................................................................."<<endl;                     
                      Typo *Dato;
                      Dato=(Typo * )new Typo * ;                      
                      Dato = (*aux).leerDato();                 
                      Dato->verLibro();
                      aux=(*aux).siguiente();
//                     (*aux).siguiente((*aux).siguiente());
                       if(p==paginados){p=0;system("pause");}
                       p++;
                 }
        }
        */
}
/**
  @brief
  @post
 */        
 Libro * Aplicacion::buscarLibroCategoria()
{
    string pass,campo,valor;
    Lista<Libro> libBusq;    
    //libBusq=new Lista<Libro>;  
    Libro *nuevLib;
    nuevLib=new Libro ;     
    int res,i;
    char resp='n';
    res=0;
    //1� Localizacion del libro
     cout<<"\t Buscar a un Libro por: \n";
     do {
         do{
             cout<<"\n\t 1.Titulo \t 2.Autores \t 3.Editorial \n\t 4.ISBN \t 5.Anyo \t 6.Precio \t 0.Salir"<<endl;
             cout<<"Escoge numero: ";
             cin>>res;
         }while(res<0 && res>7);
   
         switch (res){
                case 0:
                     cout<<"Salir al menu "<<endl;
                     nuevLib=NULL;
                     break;
                case 1:
                     cout<<"\n Introduzca cual es el TITULO que deseas buscar: ";
                     cin>>valor;          
                     cout<<"\n Libros con el titulo: "<<valor;system("pause");                                  
                     nuevLib=biblio.buscaLibro("titulo",valor);
                     if(libBusq.tama()>=1){                                 
                          if(libBusq.tama()<1)
                             mostrar_libros(libBusq);                               
                         cout<<"\n--> Seleccionar este Libro ?: S/N: ";                                 
                         cin>>resp;  
                     }
                     else nuevLib=NULL;                                                            
                     res=0;                             
                     break;
                case 2:
                     cout<<"\n Introduzca cual es el nombre de los AUTORES que deseas buscar: ";
                     cin>>valor;                                     
                     libBusq=biblio.buscaLibros("autores",valor);     
                     if(libBusq.tama()>=1){                             
                         cout<<"Libros de los autores: "<<valor<<endl;
                         //libBusq->mostrar_libros();                  
                         for (i=0;i<libBusq.tama() && resp=='n';i++){
                             nuevLib=libBusq.lee(i);
                             verLibro(nuevLib);                                 
                             cout<<"\n--> Seleccionar este Libro ?: S/N: ";                                 
                             cin>>resp;
                         }                                                        
                     }
                     else nuevLib=NULL;
                     res=0;                                     
                     break;
                case 3:
                     cout<<"\n Introduzca cual es la EDITORIAL que deseas buscar: ";
                     cin>>valor;                                     
                     libBusq=biblio.buscaLibros("editorial",valor);      
                     if(libBusq.tama()>=1){                                                         
                         cout<<"Libros de la editorial: "<<endl;
                         for (i=0;i<libBusq.tama() && resp=='n';i++){
                             nuevLib=libBusq.lee(i);
                             verLibro(nuevLib);                               
                             cout<<"\n--> Seleccionar este Libro ?: S/N: ";                                 
                             cin>>resp;
                         }                                                        
                     }
                     else nuevLib=NULL;                             
                     res=0;                                                         
                     break;
                case 4:
                     cout<<"\n Introduzca cual es el ISBN que deseas buscar: ";
                     cin>>valor;                                     
                     nuevLib=biblio.buscaLibro("isbn",valor);                             
                     if(libBusq.tama()>=1){          
                         verLibro(nuevLib);                                                                             
                         cout<<"\n--> Seleccionar este Libro ?: S/N: ";                                 
                         cin>>resp;                
                     }                                              
                     else nuevLib=NULL;                                                                                                         
                     res=0;                             
                     break;
                case 5:
                     cout<<"\n Introduzca cual es el ANYO que deseas buscar: ";
                     cin>>valor;                                     
                     libBusq=biblio.buscaLibros("anyo",valor);                             
                     if(libBusq.tama()>=1){                                 
                         cout<<"Libros del anyo: "<<valor<<endl;
                         for (i=0;i<libBusq.tama() && resp=='n';i++){
                             nuevLib=libBusq.lee(i);
                             verLibro(nuevLib);                             
                             cout<<"\n--> Seleccionar este Libro ?: S/N: ";                                 
                             cin>>resp;
                         }
                     }         
                     else nuevLib=NULL;                                                                            
                     res=0;                                                                                                                                                                                 
                     break;
                case 6:
                     cout<<"\n Introduzca cual es el PRECIO que deseas buscar: ";
                     cin>>valor;                                     
                     libBusq=biblio.buscaLibros("precio",valor);  
                     if(libBusq.tama()>=1){                                 
                         cout<<"Libros de precio: "<<valor<<endl;                                                                                     
                         for (i=0;i<libBusq.tama() && resp=='n';i++){
                             nuevLib=libBusq.lee(i);
                             verLibro(nuevLib);                                
                             cout<<"\n--> Seleccionar este Libro ?: S/N: ";                                 
                             cin>>resp;
                         }                 
                     }                                 
                     else nuevLib=NULL;                                                                    
                     res=0;
                     break;                             
                default:
                        cout<<"Introduce del 0 al 6 "<<endl;
                        break;
         }

     }while(res!=0);
     
     
     return nuevLib;

}         
